package com.xiaozheng.dao;

import com.xiaozheng.domain.QueryVo;
import com.xiaozheng.domain.User;

import java.util.List;

/**
 * @Package: com.xiaozheng.dao
 * @ClassName: UserDao
 * @Author: 小政同学    QQ:xiaozheng666888@qq.com
 * @CreateTime: 2020/8/30 0:16
 * @What_is_this_file_for: 用户的持久层
 * @Description: 描述
 */
public interface UserDao {
    /**
     * 查询所有用户
     * @return
     */
    List<User> findAll();
    /**
     * 保存用户
     */
    void saveUser(User user);
    /**
     * 更新用户
     */
    void updateUser(User user);
    /**
     * 根据id删除用户
     */
    void deleteUser(Integer UserId);

    /**
     * 根据id查询用户信息
     * @param UserId
     * @return
     */
    User findById(Integer UserId);

    /**
     * 根据用户名模糊查询用户信息
     * @param username
     * @return
     */
    List<User> findByName(String username);

    /**
     * 查询总用户数
     * @return
     */
    int findTotal();

    /**
     * 根据queryVO中的条件查询用户
     * @param queryVO
     * @return
     */
    List<User> findUserByVo(QueryVo queryVO);
}
